package com.yfp.goods.domain.vo;

import com.yfp.goods.domain.ComboDetailImg;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class ComboVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(title = "套餐id")
    private String comboId;

    /**
     * 套餐名称
     */
    @Schema(title = "套餐名称")
    @NotNull(message = "套餐名称不能为空")
    private String name;
    /**
     * 套餐标签
     */
    @Schema(title = "套餐标签")
    @NotNull(message = "套餐标签不能为空")
    private String tagId;
    /**
     * 缩略图
     */
    @Schema(title = "缩略图")
    @NotNull(message = "缩略图不能为空")
    private String thumb;

    @Schema(title = "套餐商品id列表")
    @NotNull(message = "套餐商品id列表不能为空")
    private List<String> goodsIds;

    /**
     * 保质期
     */
    @Schema(title = "保质期")
    @NotNull(message = "保质期不能为空")
    private Integer expireDay;
    /**
     * 加热时长（秒）
     */
    @Schema(title = "加热时长（秒）")
    @NotNull(message = "加热时长（秒）不能为空")
    private Integer heatTime;

    /**
     * 小程序价格
     */
    @Schema(title = "小程序价格")
    @NotNull(message = "小程序价格不能为空")
    private String miniPrice;
    /**
     * 会员价
     */
    @Schema(title = "会员价")
    @NotNull(message = "会员价不能为空")
    private String vipPrice;
    /**
     * 成本价
     */
    @Schema(title = "成本价")
    @NotNull(message = "成本价不能为空")
    private String costPrice;
    /**
     * 套餐价格
     */
    @Schema(title = "套餐价格")
    @NotNull(message = "套餐价格不能为空")
    private String salePrice;

    @Schema(title = "套餐详情图片列表")
    @NotNull(message = "套餐详情图片列表不能为空")
    private List<ComboDetailImg> comboDetailImgList;
    @Schema(title = "口味（1-不辣 2-微辣  3-中辣  4-麻辣）")
    @NotNull(message = "口味不能为空")
    private String taste;
    @Schema(title = "套餐详情图")
    private String comboInfoImg;
    @Schema(title = "能量")
    private String energy;
    @Schema(title = "能量NRV")
    private String energyNrv;
    @Schema(title = "蛋白质")
    private String protein;
    @Schema(title = "蛋白质NRV")
    private String proteinNrv;
    @Schema(title = "脂肪")
    private String fat;
    @Schema(title = "脂肪NRV")
    private String fatNrv;
    @Schema(title = "钠")
    private String sodium;
    @Schema(title = "钠NRV")
    private String sodiumNrv;
    @Schema(title = "碳水化合物")
    private String carbohydrate;
    @Schema(title = "碳水化合物NRV")
    private String carbohydrateNrv;
    @Schema(title = "城市名称")
    private String cityName;

    /**
     * 重量
     */
    @Schema(title = "重量")
    @NotNull(message = "重量不能为空")
    private Integer weight;

    /**
     * 热量
     */
    @Schema(title = "热量")
    @NotNull(message = "热量不能为空")
    private Integer kcal;

}
